#ifndef MULTIFILTERPROXY_H
#define MULTIFILTERPROXY_H

#include <QSortFilterProxyModel>
#include <QRegularExpression>
#include <QSet>

class MultiFilterProxy : public QSortFilterProxyModel {
    Q_OBJECT
public:
    explicit MultiFilterProxy(QObject *parent = nullptr);

    void setFilterForColumn(int column, const QString &pattern);
    void clearFilters();

protected:
    bool filterAcceptsRow(int source_row,
                         const QModelIndex &source_parent) const override;
    QVariant headerData(int section, Qt::Orientation orientation, int role) const override;


private:
    QMap<int, QString> m_filters;
};
#endif
